Apache ANT এর মাধ্যমে বিল্ড প্রক্রিয়া চালানোর সময়, কখনো কখনো প্রয়োজন হয় environment variables বা command-line arguments ব্যবহার করার। এটি প্রজেক্টের কনফিগারেশন আরো নমনীয় (flexible) এবং কাস্টমাইজেবল (customizable) করে তোলে।
এখানে আলোচনা করা হবে কিভাবে environment variables এবং command-line arguments ANT বিল্ড ফাইলে ব্যবহার করা যায়।
Environment variables হল সিস্টেম স্তরের ভ্যারিয়েবল যা বিভিন্ন প্রক্রিয়া এবং অ্যাপ্লিকেশনে ব্যবহৃত হতে পারে। Apache ANT বিল্ড ফাইলের মধ্যে আপনি environment variables ব্যবহার করে কনফিগারেশন নির্ধারণ করতে পারেন। ANT বিল্ড ফাইল এই environment variables থেকে মান গ্রহণ করতে পারে এবং তাদের ভিত্তিতে বিল্ড প্রসেস চালাতে পারে।
ANT এর মধ্যে environment variables অ্যাক্সেস করতে $
সিঙ্ক্স ব্যবহার করা হয়। এগুলি ${env.VARIABLE_NAME}
এই ফরম্যাটে ব্যবহার করতে হবে।
ধরা যাক, আপনি আপনার সিস্টেমে JAVA_HOME
নামক environment variable সেট করেছেন, এবং এটি ANT বিল্ড ফাইলে ব্যবহার করতে চান।
build.xml
ফাইল:
<?xml version="1.0" encoding="UTF-8"?>
<project name="SampleProject" default="compile" basedir=".">
<!-- Access environment variable JAVA_HOME -->
<echo message="Using JAVA_HOME: ${env.JAVA_HOME}"/>
<target name="compile">
<javac srcdir="src" destdir="build/classes" debug="true" source="1.8" target="1.8"/>
</target>
</project>
এখানে ${env.JAVA_HOME}
সিস্টেমের JAVA_HOME
environment variable থেকে মান নিবে এবং তা কমান্ড লাইনে প্রিন্ট করবে।
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_171
ant
কমান্ড রান করুন।export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
ant
কমান্ড রান করুন।ANT বিল্ড ফাইলে command-line arguments পাস করাও খুবই সহজ। ANT বিল্ড ফাইলের মধ্যে আমরা property ট্যাগের মাধ্যমে command-line arguments গ্রহণ করতে পারি।
ANT-এ command-line arguments পাস করার জন্য -D অপশন ব্যবহার করা হয়, যেখানে আপনি একটি প্রপার্টি নাম এবং মান প্রদান করতে পারেন। এই মানটি build.xml
ফাইলে ${propertyName}
সিঙ্ক্সের মাধ্যমে অ্যাক্সেস করা যায়।
ধরা যাক, আপনি ant
কমান্ডের মাধ্যমে build.dir
প্রপার্টি পাস করতে চান।
build.xml
ফাইল:
<?xml version="1.0" encoding="UTF-8"?>
<project name="SampleProject" default="compile" basedir=".">
<!-- Define property from command-line -->
<property name="build.dir" value="${build.dir}" />
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="src" destdir="${build.dir}/classes"/>
</target>
<target name="default" depends="compile">
<echo message="Build completed!"/>
</target>
</project>
এখানে, ${build.dir}
প্রপার্টি কমান্ড লাইনে পাস করা হবে।
ant -Dbuild.dir=build/output
এটি build.dir
প্রপার্টির মান হিসেবে build/output
সেট করবে এবং build.xml
ফাইলে এই মানটি ব্যবহার করা হবে।
Property পাস করা:
ant -DpropertyName=value
উদাহরণ:
ant -Dsrc.dir=src
Multiple Properties পাস করা: একাধিক প্রপার্টি পাস করতে চাইলে, একাধিক -D
অপশন ব্যবহার করতে পারেন।
ant -Dsrc.dir=src -Dbuild.dir=build
${env.VARIABLE_NAME}
সিঙ্ক্স ব্যবহৃত হয়।build.xml
ফাইলে ${propertyName}
সিঙ্ক্সের মাধ্যমে অ্যাক্সেস করা হয়।-D
অপশন ব্যবহার করে পাস করা হয়।${env.VARIABLE_NAME}
এবং ${propertyName}
ব্যবহার করে এগুলোর মান গ্রহণ করা হয়।এভাবে, environment variables এবং command-line arguments ব্যবহার করে, আপনি ANT বিল্ড ফাইলকে আরো নমনীয় এবং কাস্টমাইজযোগ্য করতে পারেন, যা প্রজেক্টে বিভিন্ন কনফিগারেশন সহজে পরিচালনা করতে সাহায্য করে।
common.read_more